Method of bit and power loading in OFDM communication systems with modulation and coding adaptation

ABSTRACT

In an OFDM system with modulation and coding adaptation, the carriers are allotted a respective plurality of transmission modes characterised each by a specific combination of a modulation format and a coding scheme and consequently by a specific combination of values of bit rate and power. To allocate to each carrier, for a given OFDM symbol to be transmitted, an optimum value of bit rate and power resulting in the maximum bit rate for a given power or in a minimum power for a given bit rate, all carriers are initially allotted the mode characterised by the highest bit rate or power. If the constraints on the power (or respectively the bit rate) are not met, an iterative mode reduction is performed, the mode reduction at each iteration step being performed on the carrier for which said transition has a minimum cost.

FIELD OF THE INVENTION

[0001] The present invention refers to multicarrier communication systems, and more particularly it concerns a method of bit rate and power allocation to the carriers of one such system for transmission of each modulated symbol, and a system employing the method.

[0002] The invention finds its preferred application in OFDM communication systems, and the following description will mainly refer to such preferred application.

BACKGROUND OF THE INVENTION

[0003] Multicarrier communication systems are systems in which the band of a transmission channel is divided into a plurality of sub-carriers that are substantially independent and free of intersymbol interference (ISI). Symbols in the different sub-carriers are transmitted with suitable amplitude and/or phase modulation and suitable coding.

[0004] One kind of multicarrier system is Orthogonal Frequency Division Multiplexing (OFDM), in which the frequency spacing between adjacent sub-carriers is chosen so as to make correlation between signals transmitted on the different sub-carriers null. An OFDM system allows using overlapping sub-carriers, so that efficient spectrum exploitation is achieved.

[0005] Use of such systems has been proposed for high-speed data communication systems over both wired and wireless transmission media. For instance, in the wireless environment, a wireless local area network (W-LAN) using OFDM in its physical layer is being standardised by the European Telecommunications Standard Institute (ETSI). This network is known as HIPERLAN/2 and is disclosed in ETSI DTS/BRAN-0023003: “HIPERLAN Type 2 Technical Specification; Physical (PHY) Layer”, November 1999. As known, in contrast with 3rd generation cellular system, which support high mobility and data rates up to some Mbit/s (e.g. 2 Mbit/s in UMTS), W-LANs offer much higher data rates (exceeding 50 Mbit/s) in a smaller range for stationary and portable devices with limited mobility.

[0006] In an OFDM (or generally in a multicarrier) system, the problem arises of allocating bit rate and power to the different sub-carriers so as to maximise the overall bit rate for each symbol without exceeding a given power budget or, conversely, of distributing an assigned overall bit rate among the sub-carriers so as to minimise the required transmission power.

[0007] Several proposals to this end are known in the art. Yet some of them are computationally efficient but sub-optimal, while other methods yield optimal allocation but are slow to converge and/or have a high computational cost.

[0008] An exemplary optimal method is known as the Hughes-Hartog algorithm and is disclosed in EP 0 224 556 B. That algorithm starts by assigning no power and no bits to each sub-carrier. Then one bit or a fixed number of bits are given to the sub-carrier requiring the least amount of power to increase its data rate. The process is iterated until the power budget is exhausted. The Hughes-Hartog algorithm requires an intensive amount of sorting and converges very slowly in practical OFDM scenarios.

[0009] Another optimal method, known as the Krongold, Ramachandran and Jones (KRJ) algorithm, is disclosed in U.S. Pat. No. 6,400,773 B. This method exploits Lagrangian multiplicators to solve a constrained-maximum problem, where the function to maximise is the bit rate and the constraint is the budget power. The KRJ algorithm is cheaper to implement than the Hughes-Hartog algorithm, but it is actually optimal only if the allotted number of information bits is a convex function of the signal-to-noise ratio. Yet, this situation occurs usually when a single channel code and standard signal constellations (e.g. QAM, Quadrature Amplitude Modulation) are used. When different coding schemes and/or different modulation sizes are used, this may not be true and, under such conditions, the KRJ algorithm becomes sub-optimal.

OBJECT OF THE INVENTION

[0010] Thus, the invention aims at providing a bit and power loading method that, while being computationally efficient, are optimal also when the coding and modulation lead to a non-convex bit-rate versus power curve, as it may happen when an adaptive coding and an adaptive modulation are used.

[0011] Use of adaptive modulation in OFDM systems is well known. For instance EP 1 187 413 A discloses a loading algorithm in which different modulation sizes can be used for different blocks of sub-carriers.

SUMMARY OF THE INVENTION

[0012] In a first aspect, the invention generally concerns a method of allocating transmission parameters (namely, bit rate and power) to individual carriers of a multicarrier communication system, preferably an OFDM system, so as to determine, for each symbol to be transmitted, an optimum overall value of a first of said transmission parameters while meeting predetermined constraints for an overall value of a second parameter. In case of a system providing for an adaptive coding and modulation, the method comprises the steps of:

[0013] a) determining, for all carriers, a respective plurality of transmission modes characterised each by a specific combination of a modulation format and a coding scheme and consequently by a specific combination of values of said first and second parameters;

[0014] b) determining, for all carriers, transition costs associated with a transition from one mode to a lower one characterised by lower values of said parameters, a transition cost being representative of a decrease in the first parameter as a function of the decrease in the second parameter;

[0015] c) allotting to each carrier a respective first transmission mode associated with a maximum value of said transmission parameters;

[0016] d) evaluating the overall value of said second parameter;

[0017] e) if the overall value of the second parameter meets the constraints, using said respective first transmission mode for all carriers;

[0018] f) if the overall value of the second parameter does not meet the constraints, changing the mode allotted to one of the carriers to a lower mode, the carrier and the target mode selected for such change being those for which said change results in a minimum transition cost,

[0019] g) evaluating the overall second parameter after the mode change at step f); and

[0020] h) possibly iterating steps f) and g) until the second parameter meets the constraints.

[0021] According to a second aspect of the invention there is also provided a multicarrier communication system comprising, at a transmitting end, means for coding and modulating a sequence of digital signals so as to obtain a sequence of symbols that are each transmitted by using a plurality of suitably spaced carriers. The coding and modulating means are associated with a control unit, which adapts the coding and modulation laws and allocates bit rate and transmit power to the individual carriers by using the method of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The invention will be better understood from the following description of a preferred embodiment, given by way of non-limiting example, with reference to the accompanying drawings, in which:

[0023]FIG. 1 is a schematic block diagram of an OFDM communication system employing the invention;

[0024]FIG. 2 is a general flow chart of a first embodiment of the method of the invention;

[0025]FIGS. 3A and 3B together are a more detailed flow chart of the method of the invention;

[0026]FIGS. 4 and 5 are diagrams illustrating a simplified example the method of the invention; and

[0027]FIG. 6 is a general flow chart of a second embodiment of the method of the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0028] As shown in FIG. 1, an OFDM communication system employing the invention comprises a pair of identical transceivers 1 and 2 which exchange data through data lines 3 a (from transceiver 1 to transceiver 2) and 3 b (from transceiver 2 to transceiver 1). As shown in greater detail for transceiver 1, transmitter 4 includes: a coder 5 which receives a flow of information bits from a data source, not shown; a modulator 6 which receives the coded bits from coder 5 and provides symbols having phase and quadrature components (i.e. symbols of the kind I+jQ); a unit 7 computing an IFFT (Inverse Fast Fourier Transform) of the symbols generated by modulator 6 and transmitting the transformed symbols over data line 3 a as a plurality of sub-carriers having the frequency spacing required by OFDM.

[0029] According to the invention, both the coding law and the modulation law are adaptive and can be different for each sub-carrier. A control unit 8 determines the most suitable coding and modulation laws and, consequently, determines the manner in which the available bit rate and power are to be shared among the different sub-carriers. To this end, control unit 8 receives from the remote transceiver 2, through a signalling line 9 a, information about the channel conditions and, from upper layers of the system (arrow 11), information about the minimum bit rate and maximum power utilisable. Control unit 8 performs the bit and power allocation algorithm according to the invention.

[0030] A receiver 10 in transceiver 1 will receive OFDM symbols from transceiver 2 through data line 3 b and will provide the remote transmitter, through a signalling line 9 b, with channel information allowing a remote control unit to determine the most appropriate coding and modulation laws and performs the bit rate and power allocation for the signals to be transmitted over line 3 b.

[0031] The theoretical principles of the algorithm will now be disclosed. Without loss of generality, we assume that no inter-symbol interference (ISI) nor intercarrier interference (ICI) exists between the N sub-carriers of the OFDM system, so that the communication channel can be decomposed into an equivalent set of N additive white Gaussian noise (AWGN) parallel channels.

[0032] Moreover, we assume that the number of information bits (modulation size) as well as the channel coding scheme and the allotted power can be adapted for each sub-carrier. We will thus use the term “transmission mode” to indicate the combination of a given channel coding scheme and modulation format for a sub-carrier.

[0033] Let b[m] and b_(c)[m] be the number of information bits and coded bits per OFDM symbol, respectively, on sub-carrier m, with m=1, . . . ,N. Hence, the code rate on sub-carrier m is R_(c)[m]=b[m]/b_(c)[m]. We observe that while b_(c)[m] determines the modulation type by assigning the number of coded bits carried by each modulation symbol, R_(c)[m] determines the coding scheme. Last, let P[m] be the transmit power on sub-carrier m and P=[P[1],P[2], . . . ,P[N]] the vector of allocated powers. The overall number of information bits conveyed by an OFDM symbol is given by $\begin{matrix} {{b = {{\sum\limits_{m = 1}^{N}\quad {b\lbrack m\rbrack}} = {\sum\limits_{m = 1}^{N}\quad {{R_{c}\lbrack m\rbrack}{b_{c}\lbrack m\rbrack}}}}},} & (1) \end{matrix}$

[0034] and the total power is

[0035] We indicate the set of available transmission modes as M={0, 1 . . . K}. Each mode is $\begin{matrix} {P = {\sum\limits_{m = 1}^{N}{{P\lbrack m\rbrack}.}}} & (2) \end{matrix}$

[0036] identified by a couple of numbers (b_(k),b_(c,k)),kεM, where b_(k)εB={b₀=₀,b₁, . . . ,b_(k)} and b_(c,k)εB_(c)={b_(c,0)=0,b_(c,1), . . . , b_(c,K)}, indicating the available number of information bits per sub-carrier use and the number of coded bits per sub-carrier use, respectively. Hence, the code rate of mode kεM is R_(c,k)=b_(k)/b_(c,k). In general, the first mode for k=0 corresponds to no transmission and we set R_(c,0)=1. Moreover, set B is ordered such that b_(l+1)≧b_(l).

[0037] We denote with M=[M[1] . . . M[1]] an N-uple of selected modes.

[0038] If P_(e)[m] is the bit error probability of sub-carrier m, we assume that a target error probability P_(e,ref) must be met in each sub-carrier, which probability is usually the same for all sub-carriers. I.e. it must be P_(e)[m]≦P_(e,ref), m= . . . N.

[0039] Optimal bit and power allocation requires solving either of two maximisation problems, namely:

[0040] 1) Throughput maximisation. Given a fixed amount of power P_(tot), the objective is to find the N-uples M and P that fulfil $\begin{matrix} \left\{ \begin{matrix} {\max\limits_{{M \in M^{N}},P}b} \\ {P = P_{tot}} \\ {{{_{e}\lbrack m\rbrack} \leq _{e,{ref}}},{\forall m}} \end{matrix} \right. & (3) \end{matrix}$

[0041] 2) Margin maximisation. Given a fixed throughput b_(tot), the objective is to find the N-uples M and P that fulfil $\begin{matrix} \left\{ \begin{matrix} {\min\limits_{{M \in M^{N}},P}P} \\ {b = b_{tot}} \\ {{{_{e}\lbrack m\rbrack} \leq _{e,{ref}}},{\forall m}} \end{matrix} \right. & (4) \end{matrix}$

[0042] As known, “margin” (or better “performance margin”) is the amount of noise the system can tolerate while still operating under the bit error probability constraints: minimising power, as indicated by (4), actually corresponds to maximising margin.

[0043] With regard to sub-carrier m, we denote with G[m] its gain and with σ_(W) ² the noise $\begin{matrix} {{\overset{\sim}{\Gamma}\lbrack m\rbrack} = {\frac{{{G\lbrack m\rbrack}}^{2}}{\sigma_{w}^{2}}.}} & (5) \end{matrix}$

[0044] power, which we assume to be the same for all sub-carriers; then we define the normalised signal-to-noise ratio for a transmit power equal to one, as

[0045] Thus, for a transmit power P[m], the signal-to-noise ratio is readily given by

Γ(m)=P[m]·{tilde over (Γ)}[m]  (6)

[0046] We will consider in greater detail the throughput maximisation problem. The considerations made for this problem can be repeated substantially unchanged for the margin maximisation problem, once the roles of the bit rate and power are exchanged.

A. Throughput Maximisation Algorithm

[0047] The constraint on the error probability is such that each transmission mode corresponds to an operating point in the b[m]−Γ[m] plane. We indicate with Γ_(k),kεM,(Γ₀=0) the signal-to-noise ratio required to transmit in an AWGN channel with a bit error probability P_(e,ref), using mode k. We now introduce various metrics associated to the generic sub-carrier m. Firstly, for a given transmission mode k, the minimum power level which guarantees the target bit error probability is given by $\begin{matrix} {{{p_{k}\lbrack m\rbrack} = \frac{\Gamma_{k}}{\overset{\sim}{\Gamma}\lbrack m\rbrack}},{k \in {M.}}} & (7) \end{matrix}$

[0048] We also define the bit-per-power cost function corresponding to the transition from mode k to mode h: $\begin{matrix} {{{\mathcal{F}_{k\quad h}\lbrack m\rbrack}\overset{\Delta}{=}\frac{b_{k} - b_{h}}{{p_{k}\lbrack m\rbrack} - {p_{h}\lbrack m\rbrack}}},k,{h \in},{k > {h.}}} & (8) \end{matrix}$

[0049] For a given mode k, we evaluate the mode x_(k)[m], lower than k, which yields the lowest cost function. In other words, given mode k, h=x_(k)[m] denotes the mode that yields the smallest information bit reduction (b_(k)−b_(h)) for a corresponding power reduction P_(k)[m]−P_(h)[m]. I.e., in a plane (b, P), segment k−h is the lowest slope $\begin{matrix} {{x_{k}\lbrack m\rbrack} = \left\{ {\begin{matrix} {{\arg \quad {\min\limits_{h < k}{\mathcal{F}_{k\quad h}\lbrack m\rbrack}}},} & {k \neq 0} \\ {0,} & {k = 0} \end{matrix}.} \right.} & (10) \end{matrix}$

[0050] segment among those connecting node k to any lower node h.

[0051] Let $\begin{matrix} {{\mathcal{F}_{k}\lbrack m\rbrack} = \left\{ {\begin{matrix} {\quad {{\min\limits_{h < k}{\mathcal{F}_{k\quad h}\lbrack m\rbrack}},}} & {k \neq 0} \\ {\infty,} & {k = 0} \end{matrix},} \right.} & (9) \end{matrix}$

[0052] then

[0053] Moreover, for each sub-carrier m, let M[m] represent the current allotted mode, X[m] the next optimum lower mode and F[m] the cost function associated to mode transition M[m]→X[m].

[0054] The basic idea of the algorithm is as follows. Reference is made also to FIG. 2. First, we allocate the mode with the highest number of information bits to all sub-carriers, i.e. we set M[m]=K (step 20 in FIG. 2). This gives the maximum total number of bits b=N·b_(k). Correspondingly, the initial power allocation is P[m]=P_(k)[m], for m=1, . . . ,N. For sub-carrier m, we also select the next optimum cost function F[m]=F_(K)[m] with corresponding mode X[m]=x_(K)[m].

[0055] For a given power allocation, we then evaluate the total power P. If the power constraint in (3) is not met, we change the mode in the sub-carrier with the lowest cost function, i.e. set $\begin{matrix} {{\overset{\_}{m} = {\arg \quad {\min\limits_{m}{F\lbrack m\rbrack}}}},} & (11) \\ {\quad {{it}\quad {is}}\quad} & \quad \\ {{{M\left\lbrack \overset{\_}{m} \right\rbrack} = {{X\left\lbrack \overset{\_}{m} \right\rbrack}.}}\quad} & (12) \end{matrix}$

[0056] We then update metrics of sub-carrier {overscore (m)}.

[0057] Steps (11)-(14), which correspond to step 21 in FIG. 2, are repeated until P≦P_(tot).

[0058] It is easy to show that the “mode reduction” operation (12) is optimum in the sense

[{overscore (m)}]=P _(M|m|) [{overscore (m)}]:b[{overscore (m)}]=b _(M|m|) [{overscore (m)}]  (13)

F[{overscore (m)}]=F _(M|m|) [{overscore (m)}]:X[{overscore (m)}]=r _(M|m|) [{overscore (m)}]  (14)

[0059] that, taking the total number of information bits and overall power after reduction as reference, we cannot transmit more information bits with the same amount of power or, equivalently, we cannot transmit the same number of information bits with a lower amount of power. In fact, the algorithm reduces the number of information bits by removing one mode at a time, discarding the modes with the “most expensive” bits, i.e. those bits that require the greatest amount of power to be transmitted.

[0060] We observe that the algorithm works by “mode removal” rather than “bit removal”.

[0061] We note that this procedure is optimal for either throughput or margin maximisation. The only difference between the two problems is the constraint that must be fulfilled (a power constraint in throughput maximisation, a bit rate constraint in margin maximisation), which leads to a different stopping rule of the mode reduction operation. Taking this into account, the appended claim 1 and the claims depending thereon will generally refer to maximisation of a first transmission parameter while meting certain constraints for a second transmission parameter.

[0062] In the particular case the number of information bits b_(k) of mode k is a convex function of Γ_(k) (convex case), i.e. the operating points in the b_(k)−Γ_(k) plane belong to a convex hull, metric (9) becomes $\begin{matrix} {{\mathcal{F}_{k}\lbrack m\rbrack} = \left\{ {\begin{matrix} {\quad {{\mathcal{F}_{k\quad {({k - 1})}}\lbrack m\rbrack},}} & {k \neq 0} \\ {\infty,} & {k = 0} \end{matrix},} \right.} & (15) \end{matrix}$

[0063] and relation (10) simplifies into $\begin{matrix} {{x_{k}\lbrack m\rbrack} = \left\{ {\begin{matrix} {{k - 1},} & {k \neq 0} \\ {0,} & {k = 0} \end{matrix}.} \right.} & (16) \end{matrix}$

[0064] This means that the transitions are always between one mode to next lower one.

[0065] We recall that usually b_(k) is a convex function of Γ_(k) only when a single channel code is used and the transmission modes employ a standard signal constellation (e.g. QAM), whereas this may not be true when different coding schemes and/or different modulation sizes are used.

[0066] At the end of the mode reduction procedure, if the total allotted power is below the budget, i.e. P<P_(tot), and b<Nb_(k), then the choice (11) may be no longer optimal because, for some sub-carriers, there could be another transition that removes fewer bits and still meets the power constraint, although requiring more power than the previous selected mode. Hence, these transitions that keep the power below the budget P_(tot) (hereafter named “cross transitions”) do not satisfy (9). On the contrary, from the above discussion, all transitions that keep the power above the budget satisfy (9). As a consequence, at the end of the procedure, we have to compare all possible cross-transitions associated to the sub-carriers and choose the one that yields the greatest total number of bits b (step 22 in FIG. 2).

[0067] Overall, the throughput maximisation algorithm has the following steps, where M_(opt) is the optimum mode allocation, with corresponding number of bits b_(opt). Reference is made also to FIGS. 3A and 3B.

[0068] 1) Initialise M=[K, . . . ,K],P=[P_(k)[1], . . . ,P_(k)[N]],b=Nb_(k) ${P = {\sum\limits_{m = 1}^{N}\quad {P_{k}\lbrack m\rbrack}}}\quad$

[0069]  (Step 31, FIG. 3A)

[0070] If P≦P_(tot) (Output Yes from Step 32, FIG. 3A) then M_(opt)=M and b_(opt)=b (Step 33, FIG. 3A). Stop

[0071] Else (P>P_(tot)): set b_(opt)=0 and initialise F[m]=F_(K)[m] and X[m]=x_(k)[m], for m=1, . . . ,N (Step 34).

[0072] 2) If P>P_(tot) (Output YES from Step 36):

[0073] If F[m]=∞, for m=1, . . . ,N, (Output YES from Step 35), then stop.

[0074] Else:

[0075] Reduce mode according to (11)-(14) (Step 37) and compute total number of information bits b and total power P.

[0076] Go to step 2), i.e. return to Step 35, FIG. 3A.

[0077] Else (P≦P_(tot)) (Output NO from Step 36, FIG. 3A)

[0078] If P=P_(tot) (Output NO from Step 40, FIG. 3B), then M_(opt)=M and b_(opt)=b. (Step 41, FIG. 3B). Stop

[0079] Else (P<P_(tot)) (Output YES from Step 40, FIG. 3B)

[0080] if b>b_(opt) (Output YES from Step 42, FIG. 3B), then M_(opt)=M and b_(opt)=b.

[0081] Back-off (Step 44, FIG. 3B): undo the mode reduction in the last selected sub-carrier {overscore (m)}. Let M[{overscore (m)}] and X[{overscore (m)}] be the new metrics (with corresponding P>P_(tot)).

[0082] If X[{overscore (m)}]<M[{overscore (m)}]−1 (i.e. there are still modes to be visited), select the next mode, not yet explored, with a higher number of information bits than any previously selected modes, and with the lowest cost function among the remaining modes. Set x[{overscore (m)}] to this mode and F[{overscore (m)}]=F_(M[{overscore (m)}]X[{overscore (m)}])[{overscore (m)}]

[0083] Else (X[{overscore (m)}]=M[{overscore (m)}]−1) (i.e. there are no more modes available), then set X[{overscore (m)}]=M[{overscore (m)}]−1 and F[{overscore (m)}]=∞.

[0084] Go to step 2 (i.e. return to Step 35, FIG. 3A).

[0085] Note that before the back-off operation, M_(opt) is updated only if the last mode reduction yields a number of bits b higher than any previous allocation.

[0086] Typically, the algorithm stops when F[m]=∞, for m=1, . . . ,N.

[0087] If desired, and as disclosed at step 45 in FIG. 3B, the allocated powers can be normalised such that the total transmit power is equal to the budget P_(tot).

[0088] In practically carrying out the invention, some measures allow reducing complexity.

[0089] First, instead of pre-computing and storing cost functions (8), we can save computational effort and memory locations by calculating and storing in a matrix c (see example of Table I) the following normalised cost functions, that are independent of sub-carrier index m $\begin{matrix} {{\mathcal{F}_{kh}^{\prime} = \frac{b_{k} - b_{h}}{\Gamma_{k} - \Gamma_{h}}},{k = 1},\ldots \quad,K,{h = 0},\ldots \quad,{K - 1},{k > {h.}}} & (17) \end{matrix}$

[0090] In the convex case, for each mode k, we need to store only value F′_(k(k−1)); otherwise, in general, we have to store values corresponding to h=0, . . . ,k−1, which are sorted in increasing order. However, for each mode k, after sorting, we can discard transitions that lead to a mode with a lower number of information bits than any previous transition, because these transitions will never be visited in the back-off operation. Using (7), we can calculate the cost functions (8) from (17) by a simple multiplication

F _(kh) [m]=F _(kh) {tilde over (Γ)}[m].  (18)

[0091] Moreover, we note that X_(K)[M] in (10) depends only on F′ and not on {tilde over (Γ)}[M]. This can be easily seen by substituting (18) into (10).

[0092] Actually, along with matrix C, we can build up a matrix X (see example of Table II), which for each mode k stores the “arrival modes” indicated by the corresponding matrix C. In particular, in the convex case, only one value is stored per row, namely x[k,1]=k−1, k=1, . . . ,K.

[0093] As an example, FIGS. 4 and 5 show functions b_(k) versus Γ_(k) and b_(k) versus P_(k)(m), respectively, for a system of three sub-carriers, sorted in increasing order of {tilde over (Γ)}, and five modes. The transitions of interest for the method are shown in FIG. 4 and for one carrier in FIG. 5. Tables I and II show how to build the matrix of normalised cost functions and the matrix of arrival modes, respectively, and hence how to trace FIGS. 4 and 5.

[0094] The Figures clearly show transitions (the “cross-transitions” mentioned above) that have higher costs F′ and yet entail a lower bit rate reduction than a lower cost transition. Such transitions are considered in the back-off operation. For example, from mode k=4 we can go to mode 0 or, with higher cost, to mode 3. A transition to mode 2 would also be theoretically possible, yet it would result in a higher cost and a lower number of information bits than transition to mode 2, so that it will never be selected in the back-off operation. Values corresponding to transitions that will never be visited by the algorithm have been omitted in Tables I and II.

[0095] Note also that, in a situation like that depicted in FIGS. 4, 5, the KRJ algorithm would never take into account modes 2 and 1, which are out of the convex-hull approximation of the curves b_(k)-Γ_(k) and b_(k)-P_(k)(m) and therefore the allocation cannot be optimal. TABLE I MATRIX C OF NORMALIZED COST FUNCTIONS Mode 1 F′₅₀ — — Mode 2 F′₂₀ F′₂₁ — Mode 3 F′₃₀ F′₃₁ F′₃₂ Mode 4 F′₄₀ F′₄₃ — Mode 5 F′₃₋₄ — —

[0096] TABLE II MATRIX X OF ARRIVAL MODES Mode 1 0 — — Mode 2 0 1 — Mode 3 0 1 2 Mode 4 0 3 — Mode 5 4 — —

[0097] Additional saving in computation can be achieved by ordering the N sub-carriers such that the normalised signal-to-noise ratios └{tilde over (Γ)}[1] . . . {tilde over (Γ)}[N]┘ are in increasing order. Moreover, we define a new metric vector, F′=[F′[1] . . . F′[N]], which contains for each sub-carrier m the normalised cost function F′.

[0098] For each entry of matrix C, of value F′_(kh), we define a list containing all sub-carrier indexes whose normalised cost function is F′_(kh); in other words, this list points out all entries of F′ whose value is F′_(kh). Let L be the number of non-zero entries in matrix C. We introduce lists g⁽¹⁾ . . . g^((L)), where the superscript I (I=1 . . . L) enumerates the entries in C in columnwise order. Hereafter the correspondence between F′_(kh) and I will be denoted by I=s(F′_(kh)) For example, with regard to Table I, at a given step of the loading algorithm, g⁽¹⁾ will contain the sub-carrier indexes whose associated cost is F′₁₀, g⁽²⁾ those with associated cost F′₂₀, and so on up to g^((L)) which contains the sub-carrier indexes whose associated cost is F′₃₂ We assume also that the elements of each list, g^((I)), are sorted in increasing order. Hence, because the normalised signal-to-noise ratios {tilde over (Γ)}[m],m=1, . . . ,N, are in increasing order, the first entry, g^((I))[1], denotes the sub-carrier with the smallest cost function F_(kh) within list g^((I)).

[0099] We also introduce a vector, F^(min), of L elements, containing the smallest cost functions F for each of the L lists. In the example,

F ^(min) =[F′ ₁₀{tilde over (Γ)}[g ⁽¹⁾[1]],F′ ₂₀{tilde over (Γ)}[g ⁽²⁾[1]], . . . ,F′ ₃₂{tilde over (Γ)}[g ^((L))[1]]].

[0100] If a list is empty, the corresponding elements in F^(min) is set to ∞.

[0101] We can now simplify the evaluation of (11). Let $\begin{matrix} {{\overset{\_}{i} = {\arg \quad {\min\limits_{i}{F^{\min}\lbrack i\rbrack}}}},} & (19) \\ {\quad {{it}\quad {is}}\quad} & \quad \\ {{\overset{\_}{m} = {{g^{(i)}\lbrack 1\rbrack}.}}\quad} & (20) \end{matrix}$

[0102] A step-by-step description of the algorithm is given in Table III, where we assume that the normalised signal-to-noise ratios [{tilde over (Γ)}[1], . . . ,{tilde over (Γ)}[N]] are sorted in increasing order. We also denote with pop(g^((I))) the operation of extracting the value from the top of list g^((I)), pop(g^((i));m) the operation of extracting the element of value m from g^((I)), and push(g^((I));m) the operation of inserting, in increasing order, the element of value m into g^((I)). In Table III the vector J=[J[1], . . . ,J[n]] contains indexes. TABLE III THROUGHPUT MAXIMISATION ALGORITHM ${{1\text{)}\quad {Initialize}\quad M} = \left\lbrack {K,\ldots \quad,K} \right\rbrack},{P = \left\lbrack {{P_{K}\lbrack 1\rbrack},\ldots \quad,{P_{K}\lbrack N\rbrack}} \right\rbrack},{b = {Nb}_{K}},{P = {\sum\limits_{m = 1}^{N}{{P_{K}\lbrack m\rbrack}.}}}$

If P ≦ R_(at), then M_(opt) = M and P_(opt) = P. Go to step 3. Else: set b_(opt) = 0, build matrixes C and X, intialize vector J = [1, . . . ,1], F′ = [C[K, j[1]], . . . , C[K, j[N]]], X = [X[K, j[1]], . . . , X[K, j[N]]], g^((K)) = [1, . . . , N] and F^(min) = [F′[1]{tilde over (Γ)}[1], ∞, . . . , ∞]. 2) White F′ ≠ ∞ If P > P_(tot) ⋄ Reduce mode: $i = {\arg \quad {\min\limits_{i \in {\{{1,\ldots \quad,L}\}}}{F^{\min}\lbrack i\rbrack}}}$

{overscore (m)} = g^((i))[1], pop(g^((i))), F^(min)[i] = F′g^((i))[1]]{tilde over (Γ)}[g^((i))[1]] M_(old) = M[{overscore (m)}], M[{overscore (m)}] = X[{overscore (m)}], P[{overscore (m)}] = P_(ki[{overscore (m)}])[{overscore (m)}], m[{overscore (m)}] = b_(ki[{overscore (m)}]) P_(old) = P, b_(old) = b P = P_(old) − P_(Mold)[{overscore (m)}] + P_(M[m])[{overscore (m)}], b = b_(old) − b_(Mold) + b_(M[{overscore (m)}]) j_(old) = j[{overscore (m)}], j[{overscore (m)}] = 1 $\begin{matrix} {{F^{\prime}\left\lbrack \overset{\_}{m} \right\rbrack} = \left\{ {\begin{matrix} {{C\left\lbrack {{M\left\lbrack \overset{\_}{m} \right\rbrack},{j\left\lbrack \overset{\_}{m} \right\rbrack}} \right\rbrack},} & {{M\left\lbrack \overset{\_}{m} \right\rbrack} \neq 0} \\ {\infty,} & {{M\left\lbrack \overset{\_}{m} \right\rbrack} = 0} \end{matrix},} \right.} & {{X\left\lbrack \overset{\_}{m} \right\rbrack} = \left\{ \begin{matrix} {{X\left\lbrack {{M\left\lbrack \overset{\_}{m} \right\rbrack},{j\left\lbrack \overset{\_}{m} \right\rbrack}} \right\rbrack},} & {{M\left\lbrack \overset{\_}{m} \right\rbrack} \neq 0} \\ {0,} & {{M\left\lbrack \overset{\_}{m} \right\rbrack} = 0} \end{matrix} \right.} \end{matrix}$

${I = {a\left( {F^{\prime}\left\lbrack \overset{\_}{m} \right\rbrack} \right)}},{{push}\left( {g^{\lbrack J\rbrack},\overset{\_}{m}} \right)},{{{if}\quad g_{i}^{(l)}} = {{\overset{\_}{m}\quad {then}{\quad \quad}F_{old}^{\min}} = {{{F^{\min}\lbrack I\rbrack}\quad {and}\quad {F^{\min}\lbrack I\rbrack}} = {{F^{\prime}\left\lbrack \overset{\_}{m} \right\rbrack}{\overset{\sim}{\Gamma}\left\lbrack \overset{\_}{m} \right\rbrack}}}}}$

Else if P < R_(at) ⋄ If b > b_(opt), then M_(opt) = M, P_(opt) = P and b_(opt) = b. ⋄ Back-off: M_(new) = M[{overscore (m)}], M[{overscore (m)}] = M_(old), P[{overscore (m)}] = P_(M[{overscore (m)}])[{overscore (m)}], b[{overscore (m)}] = b_(M[{overscore (m)}]) P = P_(old), b = b_(old) ${{if}\quad {g^{(I)}\lbrack 1\rbrack}} = {{\overset{\_}{m}\quad {then}\quad {F^{\min}\lbrack I\rbrack}} = F_{old}^{\min}}$

  pop(g^((I)), {overscore (m)}), j[{overscore (m)}] = j_(old) + 1 $\begin{matrix} {{F^{\prime}\left\lbrack \overset{\_}{m} \right\rbrack} = \left\{ {\begin{matrix} {{C\left\lbrack {{M\left\lbrack \overset{\_}{m} \right\rbrack},{j\left\lbrack \overset{\_}{m} \right\rbrack}} \right\rbrack},} & {{M_{old} - M_{new}} \neq 1} \\ {\infty,} & {{M_{old} - M_{new}} = 1} \end{matrix},} \right.} & {{F^{\prime}\left\lbrack \overset{\_}{m} \right\rbrack} = \left\{ {\begin{matrix} {{X\left\lbrack {{M\left\lbrack \overset{\_}{m} \right\rbrack},{j\left\lbrack \overset{\_}{m} \right\rbrack}} \right\rbrack},} & {{M_{old} - M_{new}} \neq 1} \\ {M_{new},} & {{M_{old} - M_{new}} = 1} \end{matrix},} \right.} \end{matrix}$

{overscore (I)} = a(F′[{overscore (m)}]), push(g^((I)), {overscore (m)}), if g^((I))[1] = {overscore (m)} then F^(min)[{overscore (I)}] = F′[{overscore (m)}]{tilde over (Γ)}[{overscore (m)}] Else (P = R_(at)): M_(opt) = M and P_(opt) = P. Go to step 3. End While ${{3\text{)}\quad {Normalize}\quad {power}\text{:}\quad {P_{opt}\lbrack m\rbrack}} = {{P_{opt}\lbrack m\rbrack} \cdot \frac{P_{opt}}{P}}},{m = {1\ldots}}\quad,{N.}$

[0103] Point 3 is the power normalisation discussed above.

[0104] Two possible simplifications can be applied to the algorithm to further reduce complexity:

[0105] 1) Convex case approximation: We can discard the modes that do not belong to the convex hull in the b-Γ plane. In this case only one transition from each mode to the next lower one is visited by the algorithm. This approximation may lead to significant computational saving with usually negligible loss in throughput

[0106] 2) No back-off: We can skip the back-off operation and terminate the algorithm as soon as P becomes lower than the budget P_(tot). Although the resulting allocation is no longer optimal, negligible throughput loss is expected as, usually, the back-off process may change the assigned mode in only a few sub-carriers.

[0107] An evaluation of the complexity of the proposed algorithm shows that such complexity is substantially comparable with that of the KRJ algorithm, when applied in the conditions leading to an optimum solution also for the latter algorithm. We however point out still once that the present invention leads to an optimum solution also when the curve b(Γ) is not convex, whereas under such conditions the KRJ algorithm is only sub-optimum.

B. Margin Maximisation

[0108] We now consider the margin maximisation problem given by relation (4). Reference is made also to FIG. 6. As in the case of throughput maximisation, we start with allocating the maximum number of information bits and the maximum power to all sub-carriers. As clearly shown in the flow chart, the procedure is similar to that disclosed above for throughput maximisation, except that the number of information bits instead of the power is evaluated at each step to start or to go on with the mode reduction or with back off, respectively. In this case, reducing the rate in the m-th sub-carrier, according to (11)-(12), is optimum, provided that the corresponding total number of bits does not fall below the constraint b_(tot). If the target number of information bits b_(tot), is not reached exactly through mode-reduction operations, the algorithm goes into back-off mode as in throughput maximisation and stops when b is the closest lower approximation of b_(tot). Indeed, it is to be appreciated that bit rate b is a discrete number, whereas power P considered in the throughput maximisation is a real (analogue) value.

[0109] The algorithm code is reported here

[0110] 1) Initialise M=[K, . . . ,K], P=[P_(k)[1], . . . ,P_(k)[N]], b=Nb_(K), ${P = {\sum\limits_{m = 1}^{N}\quad {P_{k}\lbrack m\rbrack}}}\quad$

[0111] If b≦b_(tot), then M_(opt)=M and P_(opt)=P. Stop

[0112] Else (b>b_(tot)): set P_(opt)=0 and initialise F[m]=F_(K)[m] and X[m]=x_(k)[m], for m=1, . . . ,N.

[0113] 2) If b>b_(tot)

[0114] If F[m]=∞, for m=1, . . . ,N, then Stop.

[0115] Else:

[0116] Reduce mode according to (11)-(14) (Step 37) and compute total number of information bits b and total power P.

[0117] Go to step 2.

[0118] Else (b≦b_(tot))

[0119] If b=b_(tot), then M_(opt)=M and P_(opt)=P. Stop

[0120] Else (b<b_(tot))

[0121] if P>P_(opt), then M_(opt)=M and P_(opt)=P.

[0122] Back-off (Step 44, FIG. 3B): undo the mode reduction in the last selected sub-carrier {overscore (m)}. Let M[{overscore (m)}] and X[{overscore (m)}] be the new metrics (with corresponding b>b_(tot)).

[0123] If X[{overscore (m)}]<M[{overscore (m)}]−1 (i.e. there are still modes to be visited), select the next mode, not yet explored, with a lower power than any previously selected modes, and with the lowest cost function among the remaining modes. Set x[{overscore (m)}] to this mode and F[{overscore (m)}]=F_(M[{overscore (m)}]X[{overscore (m)}])[{overscore (m)}]

[0124] Else (X[{overscore (m)}]=M[{overscore (m)}]−1) (i.e. there are no more modes available), then set X[{overscore (m)}]=M[{overscore (m)}]−1 and F[{overscore (m)}]=∞.

[0125] Go to step 2.

[0126] The skilled in the art will appreciate that the above disclosure is given by way of illustration only and has no limiting purpose, the scope of the invention being defined by the annexed claims. 

1. A method of allocating transmission parameters to individual carriers of a multicarrier communication system for each coded and modulated symbol to be transmitted, the method determining an optimum overall value of a first of said transmission parameters while meeting predetermined constraints for an overall value of a second parameter, the carriers being adaptively modulated, characterised in that, for a system providing also for an adaptive coding, the method comprises the steps of: a) determining, for all carriers, a respective plurality of transmission modes characterized each by a specific combination of a modulation format and a coding scheme and consequently by a specific combination of values of said first and second parameters; b) determining, for all carriers, transition costs associated with a transition from one mode to a lower one characterised by lower values of said parameters, a transition cost being representative of a decrease in the first parameter as a function of the decrease in the second parameter; c) allotting to each carrier a respective first transmission mode associated with a maximum value of said transmission parameters; d) evaluating the overall value of said second parameter; e) if the overall value of the second parameter meets the constraints, using said respective first transmission mode for all carriers; f) if the overall value of the second parameter does not meet the constraints, changing the mode allotted to one of the carriers to a lower mode, the carrier and the target mode selected for such change being those for which said change results in a minimum transition cost; g) evaluating the overall second parameter after the mode change at step d); h) possibly iterating steps f) and g) until the second parameter meets the constraints.
 2. A method as claimed in claim 1, characterised in that the carriers are allotted the values of the first and second parameters associated to the modes resulting at the end of the iterations.
 3. A method as claimed in claim 2, characterised in that the carriers are allotted the values of the first and second parameters associated to the modes resulting at the end of the iterations if the second parameter meets the constraints and has an overall value equal to a preset value.
 4. A method as claimed in claim 3, characterised in that, if at the end of the iterations the second parameter meets the constraints and has an overall value better than a preset value, the method comprises the further steps of: i) undoing the last mode change; j) checking whether in any of the carriers there are mode changes associated with a higher transition costs but leading to a respective target mode associated with a better value of the first parameter; k) in the affirmative, returning to step f); l) in the negative, using the transmission modes determined at step h).
 5. A method as claimed in any one of preceding claims, characterised in that the cost function of the mode transitions are determined as the product of a carrier-independent normalised cost function, calculated as the ratio between the variation in the first parameter occurring because of said transition and a corresponding variation of the signal-to-noise ratio required for transmission according to said modes, and a carrier-dependent signal-to-noise ratio normalised for a unit transmission power.
 6. A method according to claim 5, characterised in that the normalised transition costs are pre-stored in a first matrix, discarding transitions which would result in allocation of a worst value of said first parameter than attained by a lower cost transition.
 7. A method according to claim 6, characterised in that the target modes of the transitions stored in said first matrix are stored in a second matrix, and, by using said first and second matrices, for each value normalised cost function a list is created of the indexes of the sub-carriers having said value of the normalised cost function.
 8. A method of bit rate and power allocation to individual carriers of an OFDM communication system, each carrier conveying coded and modulated signals and modulation being an adaptive modulation, the method determining a maximum value for a total bit rate attainable for a budget power, characterised in that, for a system providing also for an adaptive coding, the method comprises the steps of: a1) determining, for all carriers, a respective plurality of transmission modes characterized each by a specific combination of a modulation format and a coding scheme and consequently by a specific combination of values of bit rate and transmit power; b1) determining, for all carriers, bit-per-power transition costs associated with transitions from each mode to a lower one characterised by a lower bit rate and a lower power; c1) allotting to each carrier a respective first transmission mode associated with a maximum value of information bits and a maximum power; d1) evaluating the total transmit power required by said first transmission modes; e1) if the total transmit power does not exceed a budget power, allotting said maximum number of information bits to all carriers; f1) if the total transmit power exceeds a budget power, changing the mode allotted to one of the carriers from said first mode to a lower mode, the carrier and the target mode selected for such change being those for which said change involves the minimum bit-per-power transition cost; g1) evaluating and the total number of information bits and the total transmit power after the mode change at step f1); h1) iterating steps f1) and g1) until attaining a total transmit power not exceeding the budget power.
 9. A method as claimed in claim 8, characterised in that the carriers are allotted the bit rates and powers determined at the end of the iterations.
 10. A method as claimed in claim 8, characterised in that the carriers are allotted the bit rates and powers determined at the end of the iterations if the total power is equal to the budget power.
 11. A method as claimed in claims 8 or 10, characterised in that, if the total power at the end of the iterations is lower than the budget power, the method comprises the further steps of: i1) undoing the last mode change; j1) checking whether in any of the carriers there are mode changes associated with higher transition costs but leading to a respective target mode associated with a higher bit rate; k1) in the affirmative, returning to step f1); l1) in the negative, using the transmission modes determined at step h1).
 12. A method according to any one of claims 8 to 10, characterised in that the optimum power determined for each carrier at the end of the iterations is normalised relative to the budget power, whereby transmission of a symbol takes place with said budget power.
 13. A method of bit rate and power allocation to individual carriers of a multicarrier communication system, each carrier conveying coded and modulated signals and modulation being an adaptive modulation, the method determining, for a given total bit rate, a minimum transmit power and hence a maximum operating margin, characterised in that, for a system providing also for an adaptive coding, the method comprises the steps of: a2) determining, for all carriers, a respective plurality of transmission modes characterized each by a specific combination of a modulation format and a coding scheme and consequently by a specific combination of values of bit rate and transmit power; b2) determining, for all carriers, bit-per-power transition costs associated with transitions from each mode to a lower one characterised by a lower power and a lower bit rate; c2) allotting to each carrier a respective first transmission mode associated with a maximum bit rate and a maximum power; d2) evaluating the total bit rate required by said first transmission modes; e2) if the total bit rate does not exceed the given bit rate, allotting said maximum bit rates and powers to all carriers; f2) if the total bit rate exceeds the given bit rate, changing the mode allotted to one of the carriers from said first mode to a lower mode, the carrier and the target mode selected for such change being those for which said change involves the minimum transition cost; g2) evaluating the total bit rate and the total transmit power after the mode change at step f2); h2) iterating steps f2) and g2) until obtaining a total bit rate not exceeding the given bit rate.
 14. A method as claimed in claim 13, characterised in that the carriers are allotted the bit rates and powers determined at the end of the iterations.
 15. A method as claimed in claim 13, characterised in that the carriers are allotted the bit rates and powers determined at the end of the iterations if the total bit rate is equal to or is the closest approximation of the given bit rate.
 16. A method as claimed in claims 8 or 10, characterised in that, if the total bit rate at the end of the iterations is lower than the given bit rate or a closest approximation of the given bit rate, the method comprises the further steps of: i2) undoing the last mode change; j2) checking whether in any of the carriers there are mode changes associated with higher transition costs but leading to a respective target mode associated with a higher bit rates; k2) in the affirmative, returning to step f2); l2) in the negative, using the transmission modes determined at step h2).
 17. A multicarrier communication system comprising, at a transmitting end, means (5, 6) for coding and modulating a sequence of digital signals so as to obtain a sequence of symbols that are fed to means (7) for transmitting each symbol by using a plurality of suitably spaced carriers, the coding, modulating and transmitting means (5, 6, 7) being associated with a control unit (8) allocating transmission parameters to the individual carriers so as to determine an optimum overall value of a first of said transmission parameters while meeting predetermined constraints for an overall value of a second parameter, characterised in that said control unit (8) is arranged to allocate said parameters by using the method according to any one of claims 1, 2, 3, or
 4. 18. A communication system according to claim 17, wherein said carriers are orthogonally frequency division multiplexed carriers, and the control unit (8) allots bit rate and power to the carriers by using the method according to any one of claims 8, 9, 10, 13, 14 or
 15. 